1. Field of the Invention
The present invention relates to a data processing method and apparatus for encrypting and decrypting digital data comprised of one or more related modules (e.g., an audio track comprising a sequence of songs) for transfer to and from a data processing apparatus and a storage device.
2. Description of the Related Art
In order to prevent illicit use, data files that contain copyrighted material can be encrypted prior to storage. For example, it is sometimes necessary for storage and/or editing to divide an audio track corresponding to a sequence of songs into related data modules (or parts) whose smaller size is more conducive to various storage mediums. Because the various parts of a track may not be stored sequentially, each track must contain information defining the parts of which it is comprised. Otherwise, parts may become lost during transfers or editing. Therefore, any changes to the parts must be recognized at the track level. In addition, each part is comprised of a sequence of data blocks (clusters). Such audio tracks are often encrypted to prevent unauthorized use and copying of the music.
In order to make unauthorized use of the data more difficult the encryption process assigns a content key to each track and a part key to each part (module). The content keys and part keys are then processed into block keys for encrypting the data at the block level.
When data encrypted in this manner is edited, encrypted parts may end up belonging to a new track that was encrypted with different block keys. Because the block keys depend on the track keys and part keys, any changes in the content of a track requires the data be first decrypted using the old track and part keys, then re-encrypted with the new track and part keys. Otherwise, tracks encrypted with a mix of keys will result and parts could become lost. This would make subsequent use of the data impossible.                This requirement that the previously encrypted track data be decrypted and then re-encrypted whenever editing is performed creates a tremendous processing burden. Currently, this burden results in processing times that make such encryption impractical.        